﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using InnovTech.Data;

namespace InnovTech.Net.DataTransfer
{
    public interface IDataTransfer
    {

        bool TransferData(IDataTransferConfig config);

        event EventHandler<DataTransferStartingEventArgs> TransferStarting;
        event EventHandler<DataTransferInitializedEventArgs> TransferInitialized;
        event EventHandler<DataTransferConnectingEventArgs> TransferConnecting;
        event EventHandler<DataTransferingEventArgs> Transfering;
        event EventHandler<DataTransferCanceledEventArgs> TransferCanceled;
        event EventHandler<DataTransferErrorEventArgs> TransferError;
        event EventHandler<DataTransferCompletedEventArgs> TransferCompleted;

        event EventHandler<DataTransferStateChangedEventArgs> StateChanged;
    }

    
}
